
import matplotlib.pyplot as plt
import numpy as np
import matplotlib

# 轴标签,  xlabel() -> x轴标签, ylabel() -> y轴标签
# 标题, title()
# Matplotlib 默认情况不支持中文
def fun1():
    x = np.array([1, 2, 3, 4])
    y = np.array([1, 4, 9, 16])
    plt.plot(x, y)

    plt.xlabel("x - label")
    plt.ylabel("y - label")
    plt.title("TITLE")

    plt.show()

# 使用中文
def fun2():
    zhfont = matplotlib.font_manager.FontProperties(fname='../SourceHanSansSC-Bold.otf')

    x = np.arange(1, 11)
    y = 2 * x + 5

    plt.title("标题", fontproperties=zhfont)
    plt.xlabel("x轴", fontproperties=zhfont)
    plt.ylabel("y轴", fontproperties=zhfont)

    plt.plot(x, y)
    plt.show()

# 自定义字体的样式
# fontdict 可以使用 css 来设置字体样式
# loc 参数来设置标题显示的位置
def fun3():
    # size设置字体大小
    zhfont = matplotlib.font_manager.FontProperties(fname='../SourceHanSansSC-Bold.otf', size=18)
    font = {'color':'blue','size':20}

    x = np.arange(1, 11)
    y = 2 * x + 5

    plt.title("标题", fontproperties=zhfont, fontdict=font, loc='center')
    plt.xlabel("x轴", fontproperties=zhfont, loc='left')
    plt.ylabel("y轴", fontproperties=zhfont, loc='top')

    plt.plot(x, y)
    plt.show()

if __name__ == '__main__':
    fun3()